<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
         html,body{
            width:100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: gray;
        }
        *{
            margin: 0;
            padding: 0;
        }
        .content{
        }
        .grid{
            width: 100%;
            height: 100%;
            display: grid;
            grid-gap: 10px;
            grid-template-columns: repeat(10,10%);
        }
        .dom{
            background-color: yellow;
            width: 50px;
            height: 50px;
            animation: animation_color 1s steps(1,end) infinite,
                       scale 0.6s ease-in-out infinite;
            animation-delay: calc(var(--i) * -0.066s);
        }
        @keyframes animation_color{
            0%{
                background-color: yellow;
            }
            33%{
                background-color: violet;
            }
            66.66%{
                background-color: aqua;
            }
            100%{
                background-color: yellow;
            }
        }
        @keyframes scale {
            0%{
                transform: scale(0.1);
            }
            100%{
                transform: scale(1);
            }
        }
    </style>
</head>
<body>
    <div class="content">
        <div class="grid" id='grid'></div>
    </div>
    <script>
        let grid = document.getElementById('grid')
        for(let i = 1;i<101;i++){
            let newDom = document.createElement('div');
            newDom.classList.add('dom');
            newDom.style = '--i' +':'+ i;
            grid.appendChild(newDom);
            console.log(newDom)
        }
    </script>
</body>
</html>